Extending the functionality of a software application, in some cases, may be easier than creating a new software application that has the additional capabilities. An extension programming language is often embedded in an existing software application so that additional program code may be added to the software application to provide additional capabilities. The extension programming language may be a scripting language whose interpreter is embedded as a library into the software application. The scripting language code is interpreted at runtime thereby bypassing compilation. In this manner, the additional capabilities may be incorporated into the software application quickly and in a cost-efficient way. However, the runtime performance of the software application degrades due to the additional time consumed by the scripting language interpreter. In addition, semantic errors are not detected before execution of the software application thereby increasing the likelihood of erroneous calculations.